Source, relay, and destination executing cooperation transmission and method for controlling each thereof

ABSTRACT

A method for controlling a first node transmitting a transmission message to a plurality of second nodes may be provided. The method includes dividing the transmission message into at least one sub-message, encoding the at least one sub-message to a data stream, determining a first transmission direction of the data stream toward at least one of the plurality of second nodes, based on a polynomial of a channel gain between the first node and the at least one of the plurality of second nodes, and transmitting the data stream to the at least one of the plurality of second nodes, based on the determined first transmission direction.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from U.S. Provisional Application No. 61/717,210, filed on Oct. 23, 2012 in the U.S. Patent and Trademark Office, and Korean Patent Application No. 10-2013-0104947, filed on Sep. 2, 2013 in the Korean Intellectual Property Office, the disclosures of which are incorporated herein by reference in their entireties.

BACKGROUND

1. Field

Apparatuses and methods consistent with embodiments relate to a source, relay, and destination executing cooperation transmission and a method for controlling each thereof, and more particularly, to a source, relay, and destination neutralizing interference when executing cooperation transmission and a method for controlling each thereof.

2. Description of the Related Art

Recently, there has been progress and developments in the area of cooperation transmission. In transmission cooperation, a plurality of source nodes may transmit a signal to be received by a plurality of destination nodes. Further, when transmission from the plurality of sources to the plurality of destination nodes is a multiple hop transmission, a relay node that relays transmissions between a source and a destination may be provided.

Additionally, relay related technologies have been developed based on an assumption in which the number of sources and destinations correspond to “1” each. Accordingly, these relay related technologies tend to place a great emphasis on enhancing a diversity gain or a multiplexing gain.

SUMMARY

According to an aspect of an exemplary embodiment, there is provided a method for controlling a first node transmitting a transmission message to a plurality of second nodes. The method may include dividing the transmission message into at least one sub-message, encoding the at least one sub-message to a data stream, determining a first transmission direction of the data stream toward at least one of the plurality of second nodes, based on a polynomial of a channel gain between the first node and the at least one of the plurality of second nodes, and transmitting the data stream to the at least one of the plurality of second nodes, based on the determined first transmission direction.

The first node may be one of a plurality of source nodes.

The transmission direction may be determined by a polynomial of a channel gain between the plurality of source nodes and the plurality of second nodes.

The encoding may include encoding the at least one sub-message, based on a Gaussian random codebook.

The channel gain between the first node and the at least one of the plurality of second nodes may vary with time.

The channel gain between the first node and the at least one of the plurality of second nodes may vary based on a unit of a predetermined number of time slots, and wherein the transmitting of the data stream to the plurality of second nodes includes transmitting the data stream during the predetermined number of time slots.

According to an aspect of another exemplary embodiment, there is provided a method for controlling a relay node relaying a signal between a plurality of source nodes and a plurality of destination nodes. The method may include receiving, from a first transmission direction, a data stream from at least one of the plurality of source nodes, extracting at least one relay signal from the received data stream, determining a second transmission direction of the at least one relay signal toward at least one of the plurality of destination nodes, based on a polynomial of a channel gain between the relay node and the plurality of destination nodes, and transmitting the at least one relay signal to at least one of the plurality of destination nodes, based on the determined second transmission direction.

The extracting of the at least one relay signal may include extracting a transmission scheme for the at least one relay signal that is identical to a transmission scheme used by the plurality of source nodes to transmit the data stream.

The relay node may be one of a plurality of relay nodes.

The determining of the second transmission direction may include verifying a channel gain between the plurality of relay nodes and the plurality of destination nodes, generating a first matrix using the channel gain, generating a second matrix, wherein the second matrix is an inverse matrix of the first matrix, and determining a polynomial of an element of the second matrix to be the second transmission direction.

A channel gain between the plurality of source nodes and the relay node and the channel gain between the relay node and the plurality of destination nodes may vary with time.

The channel gain between the plurality of source nodes and the relay node and the channel gain between the relay node and the plurality of destination nodes may vary based on a unit of a predetermined number of time slots, and wherein the transmitting of the at least one relay signal to the plurality of destination nodes includes transmitting the at least one relay signal during the predetermined number of time slots.

According to an aspect of another exemplary embodiment, there is provided a method for controlling a destination node communicating with a plurality of relay nodes relaying a message encoded in a plurality of source nodes. The method may include receiving a relay signal from the plurality of relay nodes, estimating a data stream from the relay signal received from the plurality of relay nodes, based on a channel gain between the plurality of relay nodes and the destination node, decoding the estimated data stream, and outputting the decoded message.

The destination node may be one of a plurality of destination nodes.

The estimating of the data stream may include determining a relay direction between the plurality of relay nodes and the plurality of destination nodes, determining a third matrix based on the relay direction, vector-multiplying an inverse matrix of the third matrix and the received relay signal, and estimating the data stream based on a result of the vector-multiplication.

The relay direction may be based on a polynomial of an element of a second matrix, wherein the second matrix is an inverse matrix of a first matrix obtained through changing to form the first matrix from a channel gain between the plurality of relay nodes and the plurality of destination nodes.

The channel gain between the plurality of relay nodes and the destination node may vary with time.

The channel gain between the plurality of relay nodes and the destination node may vary based on a unit of a predetermined number of time slots, and wherein the receiving of the relay signal includes receiving the at least one relay signal during the predetermined number of time slots.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and/or other aspects will be more apparent by describing in detail exemplary embodiments, with reference to the accompanying drawings, in which:

FIG. 1A is a conceptual diagram which illustrates cooperation transmission according to an exemplary embodiment;

FIG. 1B is a conceptual diagram which illustrates an implementation example according to an exemplary embodiment;

FIG. 2 is a block diagram which illustrates a node according to an exemplary embodiment;

FIG. 3 is a flowchart which illustrates an operation of a source node according to an exemplary embodiment;

FIG. 4 is a conceptual diagram which illustrates a divided sub-message according to an exemplary embodiment

FIG. 5 is a conceptual diagram which illustrates Gaussian random codebook encoding according to an exemplary embodiment;

FIG. 6 is a conceptual diagram which illustrates an instance in which a source-relay-destination of 2×2×2 participates in cooperation transmission according to an exemplary embodiment;

FIG. 7 is a flowchart which illustrates an operation of a relay node according to an exemplary embodiment;

FIG. 8 is a flowchart which illustrates an operation of a relay node based on the foregoing descriptions;

FIG. 9 is a flowchart which illustrates a method for determining a relay direction according to an exemplary embodiment; and

FIG. 10 is a flowchart which illustrates an operation of a destination node according to an exemplary embodiment.

DETAILED DESCRIPTION

The following detailed description is provided to assist the reader in gaining a comprehensive understanding of the methods, apparatuses, and/or systems described herein. Accordingly, various changes, modifications, and equivalents of the methods, apparatuses, and/or systems described herein will be suggested to those of ordinary skill in the art. The progression of processing steps and/or operations described is an example; however, the sequence of and/or operations is not limited to that set forth herein and may be changed as is known in the art, with the exception of steps and/or operations necessarily occurring in a particular order. In addition, respective descriptions of well-known functions and constructions may be omitted for increased clarity and conciseness.

Throughout the drawings and the detailed description, unless otherwise described, the same drawing reference numerals will be understood to refer to the same elements, features, and structures. The relative size and depiction of these elements may be exaggerated for clarity, illustration, and convenience.

FIG. 1A illustrates cooperation transmission according to an exemplary embodiment.

Referring to FIG. 1A, a first source node S₁ may perform communication with a first relay node V₁, a second relay node V₂, and a third relay node V₃, respectively. A second source node S₂ may also perform communication with the first relay node V₁, the second relay node V₂, and the third relay node V₃, respectively. Further, a third source node S₃ may also perform communication with the first relay node V₁, the second relay node V₂, and the third relay node V₃, respectively.

A communication scheme may not be limited to the first source node S₁ through the third source node S₃ and the first relay node V₁ through the third relay node V₃. For example, the first source node S₁ through the third source node S₃ may include at least one of a wireless local area network (WLAN) module and a near field communication (NFC) module. In a specific example, the WLAN module may be connected to the Internet and may be based on controlling the first source node S₁ through the third source node S₃. The WLAN module may support a WLAN standard, for example, Institute of Electrical and Electronics Engineers (IEEE) 802.11x. The NFC module may wirelessly perform NFC based on the controlling of the first source node S₁ through the third source node S₃. The NFC scheme may include at least one of Bluetooth, infrared data association (IrDA), wireless fidelity (Wi-Fi) direct, Zig-bee communication, Bluetooth low energy (BLE), NFC, and visible light communication, and a claimed range may be readily understood by those skilled in the art as not being limited to the NFC scheme.

When the first source node S₁ through the third source node S₃ perform communication based on a predetermined communication scheme, the first relay node V₁ through the third relay node V₃ and a first destination node D₁ through a third destination node D₃ may also include a module for conducting communication based on a corresponding communication scheme.

Alternatively, the first source node S₁ through the third source node S₃ may be connected to the first relay node V₁ through the third relay node V₃ through a wired connection. Also, the first relay node V₁ through the third relay node V₃ may be connected to the first destination node D₁ through the third destination node D₃ through a wired connection.

The first source node S₁ may transmit a data stream to the first relay node V₁ through the third relay node V₃. More particularly, the first source node S₁ may transmit a first data stream to the first relay node V₁, transmit a second data stream to the second relay node V₂, and transmit a third data stream to the third relay node V₃.

The first source node S₁ may generate at least one data stream through dividing and encoding a transmission message input.

The first source node S₁ may determine a transmission direction of the generated at least one data stream. The first source node S₁ may determine each transmission direction of the generated at least one data stream, based on a channel gain between the first source node S₁ through the third source node S₃ and the first relay node V₁ through the third relay node V₃, which will be discussed in greater detail later. According to an exemplary embodiment, components of channel gain may include at least one of path loss, multipath fading, shadowing, and sometimes interference or other impairments.

The first source node S₁ may transmit the first data stream to the first relay node V₁, transmit the second data stream to the second relay node V₂, and transmit the third data stream to the third relay node V₃, corresponding to the determined transmission direction. Here, ordinal numbers of the first, second, and third data streams may indicate data streams to be transmitted to the first, second, and third relay nodes, respectively, rather than a sequential order of generation.

The second source node S₂ and the third source node S₃ may perform an operation of the first source node S₁. For example, the second source node S₂ may transmit a fourth data stream to the first relay node V₁, transmit a fifth data stream to the second relay node V₂, and transmit a sixth data stream to the third relay node V₃. Also, the third source node S₃ may transmit a seventh data stream to the first relay node V₁, transmit an eighth data stream to the second relay node V₂, and transmit a ninth data stream to the third relay node V₃.

The first relay node V₁ may receive the first data stream from the first source node S₁, receive the fourth data stream from the second source node S₂, and receive the seventh data stream from the third source node S₃. The second relay node V₂ may receive the second data stream from the first source node S₁, receive the fifth data stream from the second source node S₂, and receive the eighth data stream from the third source node S₃. The third relay node V₃ may receive the third data stream from the first source node S₁, receive the sixth data stream from the second source node S₂, and receive the ninth data stream from the third source node S₃.

The first relay node V₁ may extract a relay signal arrayed from the received data streams. In this example, the relay signal may correspond to a signal to be transmitted, from the first relay node V₁, to at least one of the first destination node D₁ through the third destination node D₃.

The first relay node V₁ may verify a channel gain between the first source node S₁ and the first relay node V₁, a channel gain between the second source node S₂ and the first relay node V₁, and a channel gain between the third source node S₃ and the first relay node V₁.

The first relay node V₁ may extract the arrayed relay signal, based on the transmission direction of the data stream and the verified channel gain. Particularly, the first relay node V₁ may extract a plurality of relay signals to enable a transmission scheme identical to a transmission scheme in the first source node S₁ through the third source node S₃, respectively, and the extraction of the relay signal will be discussed in greater detail later. In particular, the “arraying” in the arrayed relay signal may indicate that a relay signal is arrayed so as to be identical to the transmission scheme at the source.

The first relay node V₁ may determine a transmission direction of the plurality of extracted relay signals. The first relay node V₁ may determine the transmission direction of the plurality of relay signals, based on a channel gain between the first relay node V₁ through the third relay node V₃ and the first destination node D₁ through the third destination node D₃, respectively. The determining of the transmission direction of the plurality of relay signals will be discussed in greater detail later.

The first relay node V₁ may transmit a relay signal based on the determined transmission direction.

The second relay node V₂ and the third relay node V₃ may perform operation of the first relay node V₁, respectively.

The first destination node D₁ may receive a relay signal from the first relay node V₁ through the third relay node V₃, respectively.

The first destination node D₁ may estimate a data stream based on a channel gain between the first relay node V₁ through the third relay node V₃ and the first destination node D₁ through the third destination node D₃, respectively, and the estimating of the data stream will be discussed in greater detail later.

The first destination node D₁ may decode the estimated data stream, and output a decoded message.

The second destination node D₂ and the third destination node D₃ may perform operation of the first destination node D₁, respectively.

As described above, the respective numbers of the sources, relays, and destinations of “1” are provided as an example only, and are not limited to those set forth herein and thus, may be changed as is known in the art.

FIG. 1B illustrates an implementation example according to an exemplary embodiment. Referring to FIG. 1B, a terminal A 101 through a terminal H 109 may be disposed at a distance at which communication is possible. Also, a router 104 may be disposed at a distance at which communication is possible with the terminal A 101 through the terminal H 109.

In this instance, the terminal A 101, the terminal B 102, and the terminal C 103 may be source nodes, and may transmit a predetermined message. The terminal A 101, the terminal B 102, and the terminal C 103 may transmit a data stream.

The terminal D 105 and the terminal E 106 may be, for example, relay nodes and may receive a data stream from the terminal A 101, the terminal B 102, and the terminal C 103. The terminal D 105 and the terminal E 106 may be device to device (D2D) connected to the terminal A 101, the terminal B 102, and the terminal C 103.

The router 104, which may be, for example, a relay node and may receive a data stream from the terminal A 101, the terminal B 102, and the terminal C 103.

The router 104, the terminal D 105, and the terminal E 106 may extract a relay signal to transmit the extracted relay signal to the terminal F 107, the terminal G 108, and the terminal H 109, respectively. The terminal D 105 and the terminal E 106 may be D2D connected to the terminal F 107, the terminal G 108, and the terminal H 109.

The terminal F 107, the terminal G 108, and the terminal H 109 may be, for example, destination nodes and may receive a relay signal from the router 104, the terminal D 105, and the terminal E 106, respectively.

The terminal F 107, the terminal G 108, and the terminal H 109 may estimate a data stream from the received relay signal. Also, the terminal F 107, the terminal G 108, and the terminal H 109 may output a message transmitted from the terminal A 101, the terminal B 102, and the terminal C 103, respectively, based on the estimated data stream.

FIG. 2 illustrates a node 200 according to an exemplary embodiment. The node 200 may operate as a source node, a relay node, or a destination node. The node 200 may include a controller 201 and a communicator 202.

The controller 201 may include a central processing unit (CPU), a read only memory (ROM) in which a control program for controlling is stored, and a random access memory (RAM) in which a signal or data input externally from the node 200 is stored, or may be used as a memory domain for operation performed in the node 200. The CPU may include a single core, a dual core, a triple core, or a quad core. The CPU, ROM, and RAM may be mutually connected via an internal bus.

The controller 201 may control the communicator 202.

Also, the controller 201 may perform encoding, and decoding performed in the node 200. Alternatively, the controller 201 may perform operations, for example, division of a message, determination of a transmission direction, extraction of a relay signal, and verification of a channel gain.

The communicator 202 may include at least one of a wireless module and an NFC module. The communicator 202 may perform transmission of a data stream, reception of a data stream, transmission of a relay signal, and reception of a relay signal.

FIG. 3 illustrates an operation of a source node according to an exemplary embodiment.

In operation 301, the source node may receive an input of a transmission message.

The source node of FIG. 3 may be one of a plurality of source nodes. Accordingly, a source node having an i-th index may be represented as S_(i). “i” may be an integer in a range of “1” to less than “K”. For example, a number of the plurality of source nodes may be “K”.

Also, a transmission message to be input to the source node S_(i) may be represented as W_(i).

In operation 303, the source node may divide a transmission signal, or transmission message, into a plurality of sub-signals, or sub-messages. In particular, the source node may divide the transmission message W_(i) into a number of “L”. For example, “L” may be N^(K) ² , and “N” may be a predetermined integer.

In operation 305, the source node may encode a divided sub-message to a data stream. The source node may perform the encoding using a Gaussian random codebook with a length of, for example, “n”.

Particularly, FIG. 4 illustrates a divided sub-message according to an exemplary embodiment.

Referring to FIG. 4, a transmission message W₁ input to a source node S₁ may be encoded through being divided into three sub-messages. An encoded data stream may be represented as c_(ij). In this example, “i” refers to being encoded in a source node having an i-th index, and “j” refers to a j-th index from among the divided sub-messages. For example, c₂₂ refers to a data stream obtained through encoding a second sub-message from sub-messages divided from a transmission message input to a second source node S₂.

For example, FIG. 5 specifically illustrates a Gaussian random codebook encoding according to an exemplary embodiment. Particularly, in FIG. 5, a single block may be divided into a plurality of code words, such as a vertical axis, and the plurality of divided code words may have an “n” length. A code word having a single unit length may be sequentially transmitted during a “d” number of time steps, and “d” may correspond to N^(K) ² .

Referring back to FIG. 3, in operation 307, a source node may determine a transmission direction of a data stream. The source node may determine the transmission direction of the data stream based on a channel gain between a plurality of source nodes and a plurality of relay nodes.

For example, the source node may determine the transmission direction “T” as represented by Equation 1.

$\begin{matrix} {{T_{s_{11},s_{12},\ldots\mspace{14mu},s_{KK}}\lbrack t\rbrack} = {\prod\limits_{\underset{1 \leq j \leq K}{1 \leq i \leq K}}^{\;}\;{h_{S_{i},V_{j}}\lbrack t\rbrack}^{s_{ij}}}} & \left\lbrack {{Equation}\mspace{14mu} 1} \right\rbrack \end{matrix}$

Here, s₁₁, s₁₂ through s_(K) denote a single integer from among “0” through “N−1”.

On a right side of Equation 1, S_(i) denotes an i-th source node, and V_(j) denotes a j-th relay node. In particular, hS_(i)V_(j) denotes a channel gain between the i-th source node and the j-th source node. Also, [t] denotes a variation with time of the channel gain.

On the right side of Equation 1, the transmission direction may be represented in a form of a polynomial of a channel gain between a source node and a relay node. In particular, the polynomial of the channel gain may refer to a form of a multiplication of exponential polynomials in which the channel gain is a base.

Also, a set of the aforementioned transmission directions may be determined as given by Equation 2.

_(N) [t]={T _(s) ₁₁ _(,s) ₁₂ _(, . . . ,s) _(KK) [t]:(s ₁₁ ,s ₁₂ , . . . ,s _(KK))ϵΔ_(N)}  [Equation 2]

In Equation 2,

_(N)[t] denotes a set of transmission directions, and Δ_(N)={0, . . . , N−1}^(K) ² .

Accordingly, a number “L” of transmission directions available may be defined by Equation 3. L=|

_(N) [t]|=|Δ _(N) |=N ^(K) ²   [Equation 3]

For increased clarity and conciseness, (s₁₁, s₁₂, . . . , s_(KK)) may be represented as a vector {right arrow over (s)}. Further, T_(s) ₁₁ _(, s) ₁₂ _(, . . . , s) _(KK) may be represented as T_({right arrow over (s)}).

In operation 309, the source node may transmit the data stream corresponding to the transmission direction.

The source node may transmit the data stream during an “nd” time slot, for example, and d

(N+1)^(K) ² . Also, an (m+1)-th symbol of a codeword associated with a sub-message of a stream {right arrow over (s)} of an i-th source node may be represented as c_(i,{right arrow over (s)})[m]. Here, “m” may be an integer greater than “0” less than “n−1”.

The source node may transmit a signal as shown in FIG. 4, during a “t=md+j” time slot. “m” may be an integer greater than “0” less than “d−1”, and “j” may be an integer greater than “0” less than “d−1”.

$\begin{matrix} {{X_{S_{i}}\lbrack t\rbrack} = {\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N}}^{\;}\;{{T_{\overset{\rightarrow}{s}}\lbrack t\rbrack}{c_{i,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}}} & \left\lbrack {{Equation}\mspace{14mu} 4} \right\rbrack \end{matrix}$

γ denotes a transmission power constraint constant of a source node.

Hereinafter, an instance in which a data stream to be relayed to a destination node is received from a relay node will be described.

Particularly, FIG. 7 illustrates an operation of a relay node according to an exemplary embodiment.

In operation 701, the relay node may receive a data stream from a plurality of source nodes.

For example, a signal received by a j-th relay V_(j) during a time of “t=md+j” may be expressed by Equation 5.

$\begin{matrix} {{Y_{V_{j}}\lbrack t\rbrack} = {{\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N}}^{\;}\;{{T_{\overset{\rightarrow}{s}}\lbrack t\rbrack}\left( {\sum\limits_{i = 1}^{K}\;{{h_{S_{i},V_{j}}\lbrack t\rbrack}{c_{i,\overset{\rightarrow}{s}}\lbrack m\rbrack}}} \right)}}} + {Z_{V_{j}}\lbrack t\rbrack}}} & \left\lbrack {{Equation}\mspace{14mu} 5} \right\rbrack \end{matrix}$

On a left side of Equation 5, Y_(V) _(j) [t] denotes a signal received during a “t” time in the j-th relay node V_(j). Also, entire signals transmitted from a plurality of source nodes S_(i), “i” being in a range of “1” to “K”, may be verified to be appraised in a sum with respect to “i” as shown in

$\left( {\sum\limits_{i = 1}^{K}\;{{h_{S_{i},V_{j}}\lbrack t\rbrack}{c_{i,\overset{\rightarrow}{s}}\lbrack m\rbrack}}} \right).$ More particularly, T_({right arrow over (s)})[t] may be independent with respect to “i”, and as a result, T_({right arrow over (s)})[t] may be verified to be written outside of the summation with respect to “i”. Z_(V) _(j) [t] denotes a noise component present during a “t” time in the j-th relay node V_(j).

Equation 5 may be represented by Equation 6 through variable substitution.

$\begin{matrix} {{Y_{V_{j}}\lbrack t\rbrack} = {{\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N + 1}}^{\;}\;{{T_{\overset{\rightarrow}{s}}\lbrack t\rbrack}{u_{j,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} + {Z_{V_{j}}\lbrack t\rbrack}}} & \left\lbrack {{Equation}\mspace{14mu} 6} \right\rbrack \end{matrix}$

Equation 6 has a substitution relationship as represented in u_(j,(s) ₁₁ _(, s) ₁₂ _(, . . . , s) _(KK) ₎[m]=Σ_(i=1) ^(K)c_(i,(s) ₁₁ _(, s) ₁₂ _(, . . . , s) _(ij) _(-1, . . . , s) _(KK) ₎[m].

In Equation 6, when a component of {right arrow over (s)} corresponds to “−1” or “N”, c_(i,{right arrow over (s)})[m] may be set to “0”.

In operation 703, the relay node may extract a relay signal arrayed from the received data stream.

As described above, the relay node may extract the relay signal to enable a transmission scheme identical to a transmission scheme in a plurality of source nodes, and the extraction of the relay signal will be discussed in greater detail later, with reference to FIG. 6. In particular, the “arraying” of the arrayed relay signal may indicate that the relay signal is arrayed so as to be identical to the transmission scheme in the source node.

The relay node may determine a relay direction of relay signals in operation 705, and in operation 707, transmit the relay signals in the determined relay direction, which will also be discussed in greater detail with reference to FIG. 6.

In descriptions thus far, a process in which a transmission node transmits a data stream, and a relay node receives and relays a data stream from a plurality of transmission nodes has been discussed in detail. In order to provide a more detailed description of the content as set forth above, an instance in which a source-relay-destination of 2×2×2 participates in cooperation transmission as shown in FIG. 6 may be assumed.

A channel gain between a first source node S₁ and a first relay node V₁ may be g₁₁. A channel gain between the first source node S₁ and a second relay node V₁ may be g₁₂. A channel gain between a second source node S₂ and the first relay node V₁ may be g₂₁. A channel gain between the second source node S₂ and a second relay node V₂ may be g₂₂. A channel gain between the first relay node V₁ and a first destination node D₁ may be h₁₁. A channel gain between the first relay node V₁ and a second destination node D₂ may be h₁₂. A channel gain between the second relay node V₂ and the first destination node D₁ may be h₂₁. A channel gain between the second relay node V₂ and the second destination node D₂ may be h₂₂.

In this instance, a transmission direction during a “t” time of the first source node S₁ and the second source node S₂ may be represented by Equation 7. T _((s) ₁₁ _(,s) ₁₂ _(,s) ₂₁ _(,s) ₂₂ ₎ [t]=T _({right arrow over (s)}) [t]=g ₁₁ [t] ^(s) ¹¹ g ₁₂ [t] ^(s) ¹² g ₂₁ [t] ^(s) ²¹ g ₂₂ [t] ^(s) ²²   [Equation 7]

In particular, in Equation 7, s₁₁, s₁₂, s₂₁, and s₂₂ may be an integer greater than “0” and less than “N−1”, and a value of “N” may be sufficiently large.

In this instance, a signal transmitted by an i-th source node S_(i) may be given by Equation 4. T_({right arrow over (s)})[t] of Equation 4 may be replaced by T (s₁₁, s₁₂, s₂₁, s₂₂)[t] of Equation 7.

As described above, a source node may determine a transmission direction based on a channel gain, and transmit a data stream corresponding to the determined transmission direction.

A signal received from a first relay node V₁ may be calculated according to Equation 8.

$\begin{matrix} \begin{matrix} {{Y_{V_{1}}\lbrack t\rbrack} = {{{g_{11}\lbrack t\rbrack}\left( {\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N}}^{\;}\;{{T_{\overset{\rightarrow}{s}}\lbrack t\rbrack}{c_{1,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} \right)} +}} \\ {{{g_{21}\lbrack t\rbrack}\left( {\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N}}^{\;}\;{{T_{\overset{\rightarrow}{s}}\lbrack t\rbrack}{c_{2,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} \right)} + {Z_{V_{1}}\lbrack t\rbrack}} \\ {= {\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N}}^{\;}{{g_{11}\lbrack t\rbrack}^{s_{11}}{g_{12}\lbrack t\rbrack}^{s_{12}}{g_{21}\lbrack t\rbrack}^{s_{21}}{g_{22}\lbrack t\rbrack}^{s_{22}}}}}} \\ {\left( {{{g_{11}\lbrack t\rbrack}{c_{1,\overset{\rightarrow}{s}}\lbrack m\rbrack}} + {{g_{21}\lbrack t\rbrack}{c_{2,\overset{\rightarrow}{s}}\lbrack m\rbrack}}} \right) + {Z_{V_{1}}\lbrack t\rbrack}} \\ {= {{\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N}}^{\;}{{g_{11}\lbrack t\rbrack}^{s_{11} + 1}{g_{12}\lbrack t\rbrack}^{s_{12}}{g_{21}\lbrack t\rbrack}^{s_{21}}{g_{22}\lbrack t\rbrack}^{s_{22}}{c_{1,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} +}} \\ {{{g_{11}\lbrack t\rbrack}^{s_{11}}{g_{12}\lbrack t\rbrack}^{s_{12}}{g_{21}\lbrack t\rbrack}^{s_{21} + 1}{g_{22}\lbrack t\rbrack}^{s_{22}}{c_{2,\overset{\rightarrow}{s}}\lbrack m\rbrack}} + {Z_{V_{1}}\lbrack t\rbrack}} \\ {= {{\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N}}^{\;}{{T_{({{s_{11} + 1},{s_{12,}s_{21}},s_{22}})}\lbrack t\rbrack}{c_{1,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} +}} \\ {= {{{T_{({s_{11},{{s_{12,}s_{21}} + 1},s_{22}})}\lbrack t\rbrack}{c_{2,\overset{\rightarrow}{s}}\lbrack m\rbrack}} + {Z_{V_{1}}\lbrack t\rbrack}}} \\ {= {{\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N + 1}}^{\;}{{T_{({{s_{11} + 1},{s_{12,}s_{21}},s_{22}})}\lbrack t\rbrack}\left( {c_{1,_{({{s_{11} - 1},s_{12},s_{21},s_{22}})}}\lbrack m\rbrack} \right)}}} +}} \\ {\left( {c_{1,_{({s_{11},s_{12},{s_{21} - 1},s_{22}})}}\lbrack m\rbrack} \right) + {Z_{V_{1}}\lbrack t\rbrack}} \end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 8} \right\rbrack \end{matrix}$

Here, Y_(V1) may be written as

${\gamma_{1}{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N}}^{\;}{{g_{11}\lbrack t\rbrack}^{s_{11} + 1}{g_{12}\lbrack t\rbrack}^{s_{12}}{g_{21}\lbrack t\rbrack}^{s_{21}}{g_{22}\lbrack t\rbrack}^{s_{22}}{c_{1,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} + {{g_{11}\lbrack t\rbrack}^{s_{11}}{g_{12}\lbrack t\rbrack}^{s_{12}}{g_{21}\lbrack t\rbrack}^{s_{21} + 1}{g_{22}\lbrack t\rbrack}^{s_{22}}{c_{2,\overset{\rightarrow}{s}}\lbrack m\rbrack}} + {Z_{V_{1}}\lbrack t\rbrack}$ because T_((s) ₁₁ _(,s) ₁₂ _(,s) ₂₁ _(,s) ₂₂ ₎[t]=T_({right arrow over (s)})[t]=g₁₁[t]^(s) ¹¹ g₁₂[t]^(s) ¹² g₂₁[t]^(s) ²¹ g₂₂[t]^(s) ²² includes a polynomial of g₁₁[t], g₁₂[t], g₂₁[t], g₂₂[t]. More particularly, g₁₁[t] received from the first source node S₁ may be written along with g₁₁[t]^(s) ¹¹ g₁₂[t]^(s) ¹² g₂₁[t]^(s) ²¹ g₂₂[t]^(s) ²² to be represented as g₁₁[t]^(s) ¹¹ ⁺¹, and g₂₁[t] may be written along with g₁₁[t]^(s) ¹¹ g₁₂[t]^(s) ¹² g₂₁[t]^(s) ²¹ g₂₂[t]^(s) ²² to be represented as g₂₁[t]^(s) ²¹ ⁺¹.

Equation 8 may be re-written to be represented by Equation 9.

$\begin{matrix} \begin{matrix} {{Y_{V_{1}}\lbrack t\rbrack} = {{\gamma{\sum\limits_{\overset{\rightarrow}{s} = {({0,0,0,0})}}^{({{N - 1},{N - 1},{N - 1},{N - 1}})}\;{{T_{({{s_{11} + 1},s_{12},s_{21},s_{22}})}\lbrack t\rbrack}{c_{1,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} +}} \\ {\left. {{T_{({s_{11},s_{12},{s_{21} + 1},s_{22}})}\lbrack t\rbrack}{c_{2,\overset{\rightarrow}{s}}\lbrack m\rbrack}} \right\rbrack + {Z_{V_{1}}\lbrack t\rbrack}} \\ {= {\gamma{\sum\limits_{\overset{\rightarrow}{s} = {({0,0,0,0})}}^{({N,N,N,N})}\;{T_{({s_{11},s_{12},s_{21},s_{22}})}\lbrack t\rbrack}}}} \\ {\left( {{c_{1,_{({{s_{11} - 1},s_{12},s_{21},s_{22}})}}\lbrack m\rbrack} + {c_{1,_{({s_{11},s_{12},{s_{21} - 1},s_{22}})}}\lbrack m\rbrack}} \right)} \\ {+ {Z_{V_{1}}\lbrack t\rbrack}} \\ {= {{\gamma{\sum\limits_{\overset{\rightarrow}{s} = {({0,0,0,0})}}^{({N,N,N,N})}\;{{T_{({s_{11},s_{12},s_{21},s_{22}})}\lbrack t\rbrack}u_{1,_{({s_{11},s_{12},s_{21},s_{22}})}}}}} +}} \\ {{Z_{V_{1}}\lbrack t\rbrack}\left( {{\because u_{1,{({s_{11},s_{12},s_{21},s_{22}})}}} = {{c_{1,_{({{s_{11} - 1},s_{12},s_{21},s_{22}})}}\lbrack m\rbrack} +}} \right.} \\ \left. {c_{1,{({s_{11},s_{12},{s_{21} - 1},s_{22}})}}\lbrack m\rbrack} \right) \end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 9} \right\rbrack \end{matrix}$

Also, a signal received from a second relay node V₂ may be expressed by Equation 10 in an identical manner.

$\begin{matrix} \begin{matrix} {{Y_{V_{2}}\lbrack t\rbrack} = {{\gamma{\sum\limits_{\overset{\rightarrow}{s} = {({0,0,0,0})}}^{({{N - 1},{N - 1},{N - 1},{N - 1}})}\;{{T_{({s_{11},{s_{12} + 1},s_{21},s_{22}})}\lbrack t\rbrack}{c_{1,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} +}} \\ {\left. {{T_{({s_{11},s_{12},s_{21},{s_{22} + 1}})}\lbrack t\rbrack}{c_{2,\overset{\rightarrow}{s}}\lbrack m\rbrack}} \right\rbrack + {Z_{V_{2}}\lbrack t\rbrack}} \\ {= {\gamma{\sum\limits_{\overset{\rightarrow}{s} = {({0,0,0,0})}}^{({N,N,N,N})}\;{{T_{({s_{11},s_{12},s_{21},s_{22}})}\lbrack t\rbrack}\left( {{c_{1,_{({s_{11},{s_{12} - 1},s_{21},s_{22}})}}\lbrack m\rbrack} +} \right.}}}} \\ {\left. {c_{1,_{({s_{11},s_{12},s_{21},{s_{22} - 1}})}}\lbrack m\rbrack} \right) + {Z_{V_{2}}\lbrack t\rbrack}} \\ {= {{\gamma{\sum\limits_{\overset{\rightarrow}{s} = {({0,0,0,0})}}^{({N,N,N,N})}\;{{T_{({s_{11},s_{12},s_{21},s_{22}})}\lbrack t\rbrack}u_{2,_{({s_{11},s_{12},s_{21},s_{22}})}}}}} +}} \\ {{Z_{V_{2}}\lbrack t\rbrack}\left( {{\because u_{2,{({s_{11},s_{12},s_{21},s_{22}})}}} = {{c_{1,_{({s_{11},{s_{12} - 1},s_{21},s_{22}})}}\lbrack m\rbrack} +}} \right.} \\ \left. {c_{1,{({s_{11},s_{12},s_{21},{s_{22} - 1}})}}\lbrack m\rbrack} \right) \end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 10} \right\rbrack \end{matrix}$

Based on the aforementioned descriptions, data received during times of “t=md, md+1, . . . , (m+1)d−1” in the j-th relay node V_(j) may be represented in a d-dimensional received signal vector as defined by Equation 11.

$\begin{matrix} {{{\overset{\rightarrow}{Y}}_{V_{j}}\lbrack m\rbrack} = {\begin{bmatrix} {Y_{V_{j}}\lbrack{md}\rbrack} \\ {Y_{V_{j}}\left\lbrack {{md} + 1} \right\rbrack} \\ \vdots \\ {Y_{V_{1}}\left\lbrack {{\left( {m + 1} \right)d} - 1} \right\rbrack} \end{bmatrix} = {{\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N + 1}}^{\;}{\left\lbrack \begin{matrix} {T_{\overset{\rightarrow}{s}}\lbrack{md}\rbrack} \\ {T_{\overset{\rightarrow}{s}}\left\lbrack {{md} + 1} \right\rbrack} \\ \vdots \\ {T_{\overset{\rightarrow}{s}}\left\lbrack {{\left( {m + 1} \right)d} - 1} \right\rbrack} \end{matrix} \right\rbrack{u_{j,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} + \left\lbrack \begin{matrix} {Z_{V_{j}}\lbrack{md}\rbrack} \\ {Z_{V_{j}}\left\lbrack {{md} + 1} \right\rbrack} \\ \vdots \\ {Z_{V_{1}}\left\lbrack {{\left( {m + 1} \right)d} - 1} \right\rbrack} \end{matrix} \right\rbrack}}} & \left\lbrack {{Equation}\mspace{14mu} 11} \right\rbrack \end{matrix}$

Here, T_({right arrow over (s)})[t] may be provided in a form of differing monomials of variables h_(s) _(i) _(,v) _(j) [t] for i,jϵ{1, . . . , K}, and represented by Equation 12.

$\begin{matrix} {{{\overset{\rightarrow}{T}}_{\overset{\rightarrow}{s}}\lbrack m\rbrack} = \begin{bmatrix} {T_{\overset{\rightarrow}{s}}\lbrack{md}\rbrack} \\ {T_{\overset{\rightarrow}{s}}\left\lbrack {{md} + 1} \right\rbrack} \\ \vdots \\ {T_{\overset{\rightarrow}{s}}\left\lbrack {{\left( {m + 1} \right)d} - 1} \right\rbrack} \end{bmatrix}} & \left\lbrack {{Equation}\mspace{14mu} 12} \right\rbrack \end{matrix}$

A relay node may define a matrix T[m] having a size of d×d₁. Here, a column of T[m] may be {right arrow over (T)}_({right arrow over (s)})[m].

{right arrow over (Y)}_(V) ₁ [m] may be written using the matrix T[m] as expressed by Equation 13.

$\begin{matrix} \begin{matrix} {{{\overset{\rightarrow}{Y}}_{V_{j}}\lbrack m\rbrack} = {{\gamma{\sum\limits_{\overset{\rightarrow}{s} \in \Delta_{N + 1}}^{\;}{\begin{bmatrix} {T_{\overset{\rightarrow}{s}}\lbrack{md}\rbrack} \\ {T_{\overset{\rightarrow}{s}}\left\lbrack {{md} + 1} \right\rbrack} \\ \vdots \\ {T_{\overset{\rightarrow}{s}}\left\lbrack {{\left( {m + 1} \right)d} - 1} \right\rbrack} \end{bmatrix}{u_{j,\overset{\rightarrow}{s}}\lbrack m\rbrack}}}} +}} \\ {\left\lbrack \begin{matrix} {Z_{V_{j}}\lbrack{md}\rbrack} \\ {Z_{V_{j}}\left\lbrack {{md} + 1} \right\rbrack} \\ \vdots \\ {T_{V_{1}}\left\lbrack {{\left( {m + 1} \right)d} - 1} \right\rbrack} \end{matrix} \right\rbrack} \\ {= {{\gamma\;{{T\lbrack m\rbrack}\begin{bmatrix} u_{j,{({0,0,0,0})}} \\ u_{j,{({0,0,0,1})}} \\ \vdots \\ u_{j,{({{N + 1},{N + 1},{N + 1},{N + 1}})}} \end{bmatrix}}} +}} \\ {\begin{bmatrix} {Z_{V_{j}}\lbrack{md}\rbrack} \\ {Z_{V_{j}}\left\lbrack {{md} + 1} \right\rbrack} \\ \vdots \\ {T_{V_{j}}\left\lbrack {{\left( {m + 1} \right)d} - 1} \right\rbrack} \end{bmatrix}} \end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 13} \right\rbrack \end{matrix}$

The relay node may multiply an inverse value of the matrix T[m] to a received signal vector, and extract an arrayed relay signal. The extracted relay signal may be defined by Equation 14.

$\begin{matrix} \begin{matrix} {\left\lbrack {{\hat{u}}_{j,\overset{\rightarrow}{s}}\lbrack m\rbrack} \right\rbrack_{\overset{\rightarrow}{s} \in \Delta_{N + 1}} = {\gamma^{- 1}{T\lbrack m\rbrack}^{- 1}{{\overset{\rightarrow}{Y}}_{V_{j}}\lbrack m\rbrack}}} \\ {= {\left\lbrack {u_{j,\overset{\rightarrow}{s}}\lbrack m\rbrack} \right\rbrack_{\overset{\rightarrow}{s} \in \Delta_{N + 1}} +}} \\ {\gamma^{- 1}{{T\lbrack m\rbrack}^{- 1}\begin{bmatrix} {Z_{V_{j}}\lbrack{md}\rbrack} \\ {Z_{V_{j}}\left\lbrack {{md} + 1} \right\rbrack} \\ \vdots \\ {Z_{V_{j}}\left\lbrack {{\left( {m + 1} \right)d} - 1} \right\rbrack} \end{bmatrix}}} \end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 14} \right\rbrack \end{matrix}$

As described above, the relay node may extract a relay signal. Hereinafter, an instance in which a relay node determines a relay direction of relay signals will be described.

To determine the relay direction, a matrix may be defined by Equation 15.

$\begin{matrix} {\begin{bmatrix} {b_{11}\lbrack t\rbrack} & \ldots & {b_{K\; 1}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ b_{1\;{K{\lbrack t\rbrack}}} & \ldots & {b_{KK}\lbrack t\rbrack} \end{bmatrix} = \begin{bmatrix} {h_{V_{1},D_{1}}\lbrack t\rbrack} & \ldots & {h_{V_{K},D_{1}}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {h_{V_{1},D_{K}}\lbrack t\rbrack} & \ldots & {h_{V_{K},D_{K}}\lbrack t\rbrack} \end{bmatrix}^{- 1}} & \left\lbrack {{Equation}\mspace{14mu} 15} \right\rbrack \end{matrix}$

Components on a right side of Equation 15 may be a channel gain between a relay node and a destination node. In particular, components of a matrix

$\quad\begin{bmatrix} {h_{V_{1},D_{1}}\lbrack t\rbrack} & \ldots & {h_{V_{K},D_{1}}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {h_{V_{1},D_{K}}\lbrack t\rbrack} & \ldots & {h_{V_{K},D_{K}}\lbrack t\rbrack} \end{bmatrix}$ on the right side may be invertible, respectively, and thus, may be possible to define a matrix on a left side of Equation 15.

The relay node may determine a relay direction based on a polynomial of the defined components of

$\quad\begin{bmatrix} {b_{11}\lbrack t\rbrack} & \ldots & {b_{K\; 1}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {b_{1K}\lbrack t\rbrack} & \ldots & {b_{KK}\lbrack t\rbrack} \end{bmatrix}$ as given by Equation 16.

$\begin{matrix} {{{\overset{\sim}{T}}_{s_{11},s_{12},\mspace{11mu}\ldots\mspace{14mu},s_{KK}}\lbrack t\rbrack} = {\prod\limits_{\underset{1 \leq j \leq K}{1 \leq i \leq K}}{b_{ij}\lbrack t\rbrack}^{s_{ij}}}} & \left\lbrack {{Equation}\mspace{14mu} 16} \right\rbrack \end{matrix}$

Also, a set of the relay directions may be simplified to Equation 17.

_(N+1) [t]={{right arrow over (T)} _(s) ₁₁ _(,s) ₁₂ _(, . . . ,s) _(KK) [t]:(s ₁₁ ,s ₁₂, . . . ,s_(KK))ϵΔ_(N+1)}  [Equation 17]

The j-th relay node Vj may transmit a signal of Equation 18 obtained through encoding a relay signal [û_(j,{right arrow over (s)})[m]]_({right arrow over (s)}ϵΔ) _(N+1) during times of “t=(m+1)d, (m+1)d+1, . . . , (m+1)d−1”.

$\begin{matrix} \begin{matrix} {{X_{V_{j}}\lbrack t\rbrack} = {\gamma^{\prime}{\sum\limits_{\overset{->}{s} \in \Delta_{N + 1}}{{{\overset{\sim}{T}}_{\overset{->}{s}}\lbrack t\rbrack}{{\hat{u}}_{j,\overset{->}{s}}\lbrack m\rbrack}}}}} \\ {= {{\gamma^{\prime}{\sum\limits_{\overset{->}{s} \in \Delta_{N + 1}}{{{\overset{\sim}{T}}_{\overset{->}{s}}\lbrack t\rbrack}{u_{j,\overset{->}{s}}\lbrack m\rbrack}}}} + {{\overset{\sim}{Z}}_{V_{j}}\lbrack t\rbrack}}} \end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 18} \right\rbrack \end{matrix}$

In Equation 18, γ denotes a power coefficient based on a maximum transmission power of a relay, and {tilde over (Z)}_(V) _(j) [t] denotes a noise component influencing the j-th relay node V_(j).

The transmitted relay signal may be modified to an existing transmission direction domain ({right arrow over (s)}ϵΔ_(N)) to be represented by Equation 19.

$\begin{matrix} {{X_{V_{j}}\lbrack t\rbrack} = {{\gamma^{\prime}{\sum\limits_{\overset{->}{s} \in \Delta_{N}}{{{\overset{\sim}{T}}_{\overset{->}{s}}\lbrack t\rbrack}\left( {\sum\limits_{i = 1}^{K}{{b_{ij}\lbrack t\rbrack}{c_{i,\overset{->}{s}}\lbrack m\rbrack}}} \right)}}} + {{\overset{\sim}{Z}}_{V_{j}}\lbrack t\rbrack}}} & \left\lbrack {{Equation}\mspace{14mu} 19} \right\rbrack \end{matrix}$

Based on the aforementioned descriptions, a signal transmitted during times of “t=md, md+1, . . . , (m+2)d−1” in the j-th relay node V_(j) may be represented in the d-dimensional received signal vector as defined by Equation 20.

$\mspace{644mu}{{\left\lbrack {{Equation}\mspace{14mu} 20} \right\rbrack\begin{bmatrix} {X_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {X_{V_{K}}\lbrack t\rbrack} \end{bmatrix}} = {{\gamma^{\prime}{\sum\limits_{\overset{->}{s} \in \Delta_{N}}{{{{\overset{\sim}{T}}_{\overset{->}{s}}\lbrack t\rbrack}\begin{bmatrix} {b_{11}\lbrack t\rbrack} & \ldots & {b_{K\; 1}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {b_{1K}\lbrack t\rbrack} & \ldots & {b_{KK}\lbrack t\rbrack} \end{bmatrix}}\begin{bmatrix} {c_{1,\overset{->}{s}}\lbrack m\rbrack} \\ \vdots \\ {c_{K,\overset{->}{s}}\lbrack m\rbrack} \end{bmatrix}}}} + \begin{bmatrix} {{\overset{\sim}{Z}}_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {{\overset{\sim}{Z}}_{V_{K}}\lbrack t\rbrack} \end{bmatrix}}}$

Based on the preceding, the relay node may extract the relay signal, and subsequent to determining the relay direction, transmit the relay signal in the determined relay direction.

FIG. 8 illustrates an operation of a relay node based on the descriptions in the foregoing.

In operation 801, the relay node may receive a data stream from a plurality of source nodes.

In operation 803, the relay node may verify a channel gain between a source node and a relay node.

In operation 805, the relay node may extract an arrayed relay signal, based on a transmission direction between the source node-relay node and the channel gain between the source node-relay node.

In operation 807, the relay node may verify a channel gain between a relay node and a destination node.

In operation 809, the relay node may determine a transmission direction between the relay node and the destination node corresponding to the channel gain of the relay node and the destination node.

In operation 811, the relay node may transmit a relay signal based on the transmission direction between the relay node and the destination node.

FIG. 9 illustrates a method for determining a relay direction according to an exemplary embodiment.

In operation 901, the relay node may verify a channel gain between a relay node and a destination node.

The relay node may generate a first matrix through changing the channel gain between the relay node and a destination node to a form of a matrix in operation 903, and determine a second matrix, provided in a form of an inverse matrix of the first matrix in operation 905.

In operation 907, the relay node may determine a transmission direction between the relay node and the destination node, for example, a polynomial of an element of the second matrix.

Thus far, a configuration of relaying a relay signal in a relay node has been described, and hereinafter, a configuration of receiving a relay signal from a destination node and decoding will be described.

FIG. 10 illustrates an operation of a destination node according to an exemplary embodiment.

In operation 1001, the destination node may receive a relay signal from a plurality of relay nodes.

A signal received from first through K-th destination nodes during a “t” time may be represented by Equation 21.

                                     [Equation  21] $\begin{matrix} {\begin{bmatrix} {Y_{D_{1}}\lbrack t\rbrack} \\ \vdots \\ {Y_{D_{k}}\lbrack t\rbrack} \end{bmatrix} = {{\begin{bmatrix} {h_{V_{1},D_{1}}\lbrack t\rbrack} & \ldots & {h_{V_{K},D_{1}}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {h_{V_{1},D_{K}}\lbrack t\rbrack} & \ldots & {h_{V_{K},D_{K}}\lbrack t\rbrack} \end{bmatrix}\begin{bmatrix} {X_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {X_{V_{K}}\lbrack t\rbrack} \end{bmatrix}} + \begin{bmatrix} {Z_{D_{1}}\lbrack t\rbrack} \\ \vdots \\ {Z_{D_{K}}\lbrack t\rbrack} \end{bmatrix}}} \\ {= {{\begin{bmatrix} {b_{11}\lbrack t\rbrack} & \ldots & {b_{K\; 1}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {b_{1K}\lbrack t\rbrack} & \ldots & {b_{KK}\lbrack t\rbrack} \end{bmatrix}^{- 1}\begin{bmatrix} {X_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {X_{V_{K}}\lbrack t\rbrack} \end{bmatrix}} + \begin{bmatrix} {Z_{D_{1}}\lbrack t\rbrack} \\ \vdots \\ {Z_{D_{K}}\lbrack t\rbrack} \end{bmatrix}}} \\ {= {{\gamma^{\prime}{\sum\limits_{\overset{->}{s} \in \Delta_{N}}{{{\overset{\sim}{T}}_{\overset{->}{s}}\lbrack t\rbrack}\begin{bmatrix} {c_{1,\overset{->}{s}}\lbrack m\rbrack} \\ \vdots \\ {c_{K,\overset{->}{s}}\lbrack m\rbrack} \end{bmatrix}}}} + {\begin{bmatrix} {b_{11}\lbrack t\rbrack} & \ldots & {b_{K\; 1}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {b_{1K}\lbrack t\rbrack} & \ldots & {b_{KK}\lbrack t\rbrack} \end{bmatrix}^{- 1}\begin{bmatrix} {{\overset{\sim}{Z}}_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {{\overset{\sim}{Z}}_{V_{K}}\lbrack t\rbrack} \end{bmatrix}} +}} \\ {\begin{bmatrix} {Z_{D_{1}}\lbrack t\rbrack} \\ \vdots \\ {Z_{D_{K}}\lbrack t\rbrack} \end{bmatrix}} \end{matrix}$

A relationship of Equation 20 may be substituted with respect to

$\quad\begin{bmatrix} {X_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {X_{V_{K}}\lbrack t\rbrack} \end{bmatrix}$ as written in an equation of

${{\begin{bmatrix} {b_{11}\lbrack t\rbrack} & \ldots & {b_{K\; 1}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {b_{1K}\lbrack t\rbrack} & \ldots & {b_{KK}\lbrack t\rbrack} \end{bmatrix}^{- 1}\begin{bmatrix} {X_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {X_{V_{K}}\lbrack t\rbrack} \end{bmatrix}} + \begin{bmatrix} {Z_{D_{1}}\lbrack t\rbrack} \\ \vdots \\ {Z_{D_{K}}\lbrack t\rbrack} \end{bmatrix}} = {{\gamma^{\prime}{\sum\limits_{\overset{->}{s} \in \Delta_{N}}{{{\overset{\sim}{T}}_{\overset{->}{s}}\lbrack t\rbrack}\begin{bmatrix} {c_{1,\overset{->}{s}}\lbrack m\rbrack} \\ \vdots \\ {c_{K,\overset{->}{s}}\lbrack m\rbrack} \end{bmatrix}}}} + {\begin{bmatrix} {b_{11}\lbrack t\rbrack} & \ldots & {b_{K\; 1}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {b_{1K}\lbrack t\rbrack} & \ldots & {b_{KK}\lbrack t\rbrack} \end{bmatrix}^{- 1}\begin{bmatrix} {{\overset{\sim}{Z}}_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {{\overset{\sim}{Z}}_{V_{k}}\lbrack t\rbrack} \end{bmatrix}} + {\begin{bmatrix} {Z_{D_{1}}\lbrack t\rbrack} \\ \vdots \\ {Z_{D_{K}}\lbrack t\rbrack} \end{bmatrix}.}}$

Based on the descriptions in the foregoing, a signal received from a j-th destination node D_(j) during times of “t=md, md+1, . . . , (m+1)d−1” may be derived from Equation 22.

$\begin{matrix} {{Y_{D_{j}}\lbrack t\rbrack} = {{\gamma^{\prime}{\sum\limits_{\overset{->}{s} \in \Delta_{N}}{{{\overset{\sim}{T}}_{\overset{->}{s}}\lbrack t\rbrack}{c_{j,\overset{->}{s}}\lbrack m\rbrack}}}} + {{\overset{\sim}{Z}}_{D_{j}}\lbrack t\rbrack}}} & \left\lbrack {{Equation}\mspace{14mu} 22} \right\rbrack \end{matrix}$

{tilde over (Z)}_(D) _(j) [t] of Equation 22 may represented by

${\begin{bmatrix} {b_{11}\lbrack t\rbrack} & \ldots & {b_{K\; 1}\lbrack t\rbrack} \\ \vdots & \ddots & \vdots \\ {b_{1K}\lbrack t\rbrack} & \ldots & {b_{KK}\lbrack t\rbrack} \end{bmatrix}^{- 1}\begin{bmatrix} {{\overset{\_}{Z}}_{V_{1}}\lbrack t\rbrack} \\ \vdots \\ {{\overset{\_}{Z}}_{V_{K}}\lbrack t\rbrack} \end{bmatrix}} + {\begin{bmatrix} {Z_{D_{1}}\lbrack t\rbrack} \\ \vdots \\ {Z_{D_{K}}\lbrack t\rbrack} \end{bmatrix}.}$

Based on the descriptions in the foregoing, a signal received from the j-th destination node D_(j) during the times of “t=md, md+1, . . . , (m+1)d−1” may be given by Equation 23.

$\begin{matrix} \begin{matrix} {{{\overset{->}{Y}}_{D_{j}}\left\lbrack {m + 1} \right\rbrack} = \begin{bmatrix} {Y_{D_{j}}\left\lbrack {\left( {m + 1} \right)d} \right\rbrack} \\ {Y_{D_{j}}\left\lbrack {{\left( {m + 1} \right)d} + 1} \right\rbrack} \\ \vdots \\ {Y_{D_{j}}\left\lbrack {{\left( {m + 2} \right)d} - 1} \right\rbrack} \end{bmatrix}} \\ {= {{\gamma^{\prime}{\sum\limits_{\overset{->}{s} \in \Delta_{N}}{\begin{bmatrix} {{\overset{\sim}{T}}_{\overset{->}{s}}\left\lbrack {\left( {m + 1} \right)d} \right\rbrack} \\ {{\overset{\sim}{T}}_{\overset{->}{s}}\left\lbrack {{\left( {m + 1} \right)d} + 1} \right\rbrack} \\ \vdots \\ {{\overset{\sim}{T}}_{\overset{->}{s}}\left\lbrack {{\left( {m + 2} \right)d} - 1} \right\rbrack} \end{bmatrix}{c_{j,\overset{->}{s}}\lbrack m\rbrack}}}} +}} \\ {\begin{bmatrix} {{\overset{\sim}{Z}}_{D_{j}}\left\lbrack {\left( {m + 1} \right)d} \right\rbrack} \\ {{\overset{\sim}{Z}}_{D_{j}}\left\lbrack {{\left( {m + 1} \right)d} + 1} \right\rbrack} \\ \vdots \\ {{\overset{\sim}{Z}}_{D_{j}}\left\lbrack {{\left( {m + 2} \right)d} - 1} \right\rbrack} \end{bmatrix}} \end{matrix} & \left\lbrack {{Equation}\mspace{14mu} 23} \right\rbrack \end{matrix}$

As T_(g)[t] of Equation 23 is represented by a monomial with respect to a channel gain h_(V) _(i) _(,D) _(j) [t] for i,jϵ{1, . . . , K}, {tilde over ({right arrow over (T)})}_({right arrow over (s)})[m+1] of Equation 24 may be linearly independent.

$\begin{matrix} {{{\overset{\overset{->}{\sim}}{T}}_{\overset{->}{s}}\left\lbrack {m + 1} \right\rbrack} = \begin{bmatrix} {{\overset{\sim}{T}}_{\overset{->}{s}}\left\lbrack {\left( {m + 1} \right)d} \right\rbrack} \\ {{\overset{\sim}{T}}_{\overset{->}{s}}\left\lbrack {{\left( {m + 1} \right)d} + 1} \right\rbrack} \\ \vdots \\ {{\overset{\sim}{T}}_{\overset{->}{s}}\left\lbrack {{\left( {m + 2} \right)d} - 1} \right\rbrack} \end{bmatrix}} & \left\lbrack {{Equation}\mspace{14mu} 24} \right\rbrack \end{matrix}$

Accordingly, a destination node may decode a |Δ_(N)|=N^(K) ² number of symbols from among a “d” number of received signals.

In operation 1003, the destination node may estimate a data stream, based on a channel gain between a relay node-destination node.

The destination node may define a matrix {tilde over (T)}[m], and a column of the matrix {tilde over (T)}[m] may be configured by a first N^(K) ² number of elements of {tilde over (T)}_({right arrow over (s)})[m].

The destination node may estimate a data stream [ĉ_(j,{right arrow over (s)})[m]]_({right arrow over (s)}ϵΔ) _(N) as defined by Equation 25.

                                     [Equation  25] $\begin{matrix} {\left\lbrack {{\hat{c}}_{j,\overset{->}{s}}\lbrack m\rbrack} \right\rbrack_{\overset{->}{s} \in \Delta_{N}} = {\gamma^{\prime - 1}{{\overset{\sim}{T}\lbrack m\rbrack}^{- 1}\begin{bmatrix} {Y_{D_{j}}\left\lbrack {\left( {m + 1} \right)d} \right\rbrack} \\ {Y_{D_{j}}\left\lbrack {{\left( {m + 1} \right)d} + 1} \right\rbrack} \\ \vdots \\ {Y_{D_{j}}\left\lbrack {{\left( {m + 1} \right)d} + N^{K^{2}}} \right\rbrack} \end{bmatrix}}}} \\ {= {\left\lbrack {c_{j,\overset{->}{s}}\lbrack m\rbrack} \right\rbrack_{\overset{->}{s} \in \Delta_{N}} + {\gamma^{\prime - 1}{{\overset{\sim}{T}\lbrack m\rbrack}^{- 1}\begin{bmatrix} {{\overset{\sim}{Z}}_{V_{j}}\left\lbrack {\left( {m + 1} \right)d} \right\rbrack} \\ {{\overset{\sim}{Z}}_{V_{j}}\left\lbrack {{\left( {m + 1} \right)d} + 1} \right\rbrack} \\ \vdots \\ {{\overset{\sim}{Z}}_{V_{j}}\left\lbrack {{\left( {m + 1} \right)d} + N^{K^{2}}} \right\rbrack} \end{bmatrix}}}}} \end{matrix}$

The destination node may perform vector multiplication on an inverse matrix of the matrix {tilde over (T)}[m] and the received signal as expressed by Equation 25. The destination node may estimate the data stream [ĉ_(j,{right arrow over (s)})[m]]_({right arrow over (s)}ϵΔ) _(N) based on a result of the vector multiplication.

The destination node may decode the estimated data stream in operation 1005, and output a decoded message in operation 1007. For example, the destination node may perform decoding using a Gaussian random codebook.

Degrees of freedom of cooperation transmission as described above may be determined by Equation 26.

$\begin{matrix} {\frac{N^{K^{2}}}{d} = {\frac{N^{K^{2}}}{\left( {N + 1} \right)^{K^{2}}} = \left( \frac{N}{N + 1} \right)^{K^{2}}}} & \left\lbrack {{Equation}\mspace{14mu} 26} \right\rbrack \end{matrix}$

An instance of the degrees of freedom converging to “1” as “N” diverges toward infinity may be verified in Equation 26, and thereby, neutralizing of interference by the cooperation transmission may be verified.

The above-described exemplary embodiments may be recorded in computer-readable media including program instructions to implement various operations embodied by a computer. The media may also include, alone or in combination with the program instructions, data files, data structures, and the like. Examples of computer-readable media include magnetic media such as hard disks, floppy disks, and magnetic tape; optical media such as CD ROM discs and DVDs; magneto-optical media such as optical discs; and hardware devices that are specially configured to store and perform program instructions, such as read-only memory (ROM), random access memory (RAM), flash memory, and the like. Examples of program instructions include both machine code, such as produced by a compiler, and files containing higher level code that may be executed by the computer using an interpreter. The described hardware devices may be configured to act as one or more software modules in order to perform the operations of the above-described exemplary embodiments, or vice versa.

A number of exemplary embodiments have been described above. Nevertheless, it should be understood that various modifications may be made. For example, suitable results may be achieved if the described techniques are performed in a different order and/or if components in a described system, architecture, device, or circuit are combined in a different manner and/or replaced or supplemented by other components or their equivalents. Accordingly, other implementations are within the scope of the following claims. 

What is claimed is:
 1. A method for controlling a first node transmitting data to a second node group, the method comprising: dividing the data into at least one sub-data; encoding the at least one sub-data to a data stream; selecting one node from the second node group as a destination for the data stream based on a polynomial of channel gains between a source node group and the second node group; and transmitting the data stream to the selected node, wherein each of the source node group and the second node group includes a plurality of nodes, wherein the source node group includes the first node and communicates with the second node group, and wherein the polynomial comprises a product of channel gains between each node of the source node group and each node of the second node group.
 2. The method of claim 1, wherein the encoding comprises: encoding the at least one sub-data, based on a Gaussian random codebook.
 3. The method of claim 1, wherein the channel gains varies based on a unit of a predetermined number of time slots, and wherein the transmitting comprises transmitting the data stream during the predetermined number of time slots.
 4. A method for controlling a relay node relaying a signal between a source node group and a destination node group, the method comprising: receiving a data stream from at least one source node of the source node group; extracting at least one relay signal from the received data stream; selecting at least one node from the destination node group as a destination for the at least one relay signal based on a polynomial of channel gains between a relay node group and the destination node group; and transmitting the at least one relay signal to the at least one node, wherein each of the source node group, the relay node group, and the destination node group includes a plurality of nodes, wherein the relay node group includes the relay node and relays data between the source node group and the destination node group, and wherein the polynomial comprises a product of channel gains between each node of the relay node group and each node of the destination node group.
 5. The method of claim 4, wherein the extracting of the at least one relay signal comprises: extracting a transmission scheme for the at least one relay signal that is identical to a transmission scheme used by the source node group to transmit the data stream.
 6. The method of claim 4, wherein the selecting comprises: verifying a channel gain between the relay node and the destination node group; generating a first matrix using the channel gain; generating a second matrix, wherein the second matrix is an inverse matrix of the first matrix; and determining a transmission direction based on a polynomial of an element of the second matrix.
 7. The method of claim 4, wherein channel gains between the source node group and the relay node and the channel gains between the relay node and the destination node group vary with time.
 8. The method of claim 7, wherein the channel gains between the source node group and the relay node and the channel gains between the relay node and the destination node group vary based on a unit of a predetermined number of time slots, and wherein the transmitting of the at least one relay signal comprises transmitting the at least one relay signal during the predetermined number of time slots.
 9. A method for controlling a destination node communicating with a relay node group relaying data encoded in a source node group, the method comprising: receiving a relay signal from the a relay node group according to a relay direction between the relay node group and a destination node group; estimating a data stream from the relay signal received, based on channel gains between the relay node group and a destination node group; decoding the estimated data stream; and outputting the decoded estimated data stream, wherein each of the source node group, the relay node group, and the destination node group includes a plurality of nodes, wherein the destination node is selected from the destination node group as a destination for the relay signal based on a polynomial of channel gains between the relay node group and the destination node group, wherein the destination node is one of the destination node group includes the destination node and communicates with the relay node group, and wherein the polynomial comprises a product of channel gains between each node of the relay node group and each of the destination node group.
 10. The method of claim 9, wherein the estimating of the data stream comprises: determining a third matrix based on the relay direction; vector-multiplying an inverse matrix of the third matrix and the received relay signal; and estimating the data stream based on a result of the vector-multiplication.
 11. The method of claim 9, wherein the relay direction is based on a polynomial of an element of a second matrix, and wherein the second matrix is an inverse matrix of a first matrix obtained through changing to form the first matrix from a channel gain between the relay node group and the destination node group.
 12. The method of claim 9, wherein at least one of the channel gains varies with time.
 13. The method of claim 12, wherein the channel gains between the relay node group and the destination node vary based on a unit of a predetermined number of time slots, and wherein the receiving of the relay signal comprises receiving the relay signal during the predetermined number of time slots.
 14. A first node configured to transmit data to a second node group, the first node comprising: a controller configured to encode at least one divided sub-data into at least one sub-data, and configured to select at least one node from the second node group as a destination for the at least one sub-data based on a polynomial of channel gains between a source node group and the second node group; and a communicator configured to transmit the at least one sub-data to the at least one node respectively, wherein each of the source node group and the second node group includes a plurality of nodes, wherein the source node group includes the first node and communicates with the second node group, and wherein the polynomial comprises a product of channel gains between each node of the source node group and each of the second node group.
 15. A relay node configured to relay a signal between a source node group and a destination node group, the relay node comprising: a communicator configured to receive a data stream from at least one source node of the source node group; and a controller configured to extract at least one relay signal from the received data stream, and configured to select at least one node from the destination node group as a destination for the at least one relay signal based on a polynomial of channel gains between a relay node group and the destination node group, wherein each of the source node group, the relay node group, and the destination node group includes a plurality of nodes, wherein the communicator transmits the at least one relay signal to the at least one node respectively, wherein the relay node group includes the relay node and relays data between the source node group and the destination node group, and wherein the polynomial comprises a product of channel gains between each node of the relay node group and each node of the destination node group. 